package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 使用预编译SQL语句解决SQL注入攻击问题
 */
public class JDBCDemo7 {
    public static void main(String[] args) {
        try (Connection connection = DBUtil.getConnection();){
            String sql = "SELECT id,username,password,nickname " +
                         "FROM user " +
                         "WHERE username=? AND password=?";
            //先将预编译SQL语句发送给数据库，将语句作用定死
            PreparedStatement ps = connection.prepareStatement(sql);
            //将?对应的值设置好
            ps.setString(1,"范传奇");
            ps.setString(2,"123456");

//            ps.setString(1,"jhghsad");
//            ps.setString(2,"1' OR '1='1");

            ResultSet rs = ps.executeQuery();
            if(rs.next()){
                System.out.println("登录成功");
            }else{
                System.out.println("登录失败");
            }



        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
